'''
1、参数化：
     ① 参数化测试：把测试数据组织起来，用不同的测试数据调用相同的测试方法
     ② 常见的参数化方式：
           11、用户定义的变量：
                          作用：定义全局变量
                          局限性：每次取值（无论是否相同的用户）都是固定值
                          操作：测试计划 - 线程组 - 配置元件 - 用户定义的变量    name：baidu
                                      - http请求   ${name}
                              - 察看结果树
           12、用户参数：
                      作用：针对同一组参数，当不同的用户来访问时，可以获取到不同的值
                      局限性：同一个用户多次循环，只能取相同的值
                      操作：测试计划 - 线程组（设置线程数2、时间1、循环次数1） - 前置处理器 - 用户参数（添加变量、添加用户）
                                          - http请求（IP-www.baidu.com、参数：name-${name}/age-${age})
                                  - 察看结果树
           13、CSV 数据文件设置（文件方式参数化）：
                                          作用：让不同的用户在多次循环时，可以取到不同的值
                                          局限性：需要提前手动准备测试数据的文件
                                          操作：定义CSV数据文件
                                               测试计划 - 线程组（循环次数3） - 配置元件 - CSV Data Set Config（变量名称-user,pwd,cd/忽略首行-True/分隔符-)
                                                                         - http请求（协议-https、IP-www.baidu.com、参数：username-${user}/password-${pwd}/code-${cd})
                                                      - 察看结果树
           14、函数(__counter)：
                             作用：保证不同的用户多次循环，可以取到不同的值，不需要提前设置（计数函数，一般做执行次数统计使用）
                             局限性：输入数据有特定的业务要求时无法使用（如：登录时的用户名密码）
                             操作：菜单 - 工具 - 函数助手对话框 - 功能（counter）/函数参数（FALSE）
                                  测试计划 - 线程组（线程数2、循环次数3） - http请求（IP-www.baidu.com/路径-/S?num=${__counter(FALSE,)}
2、案例：某支付系统，需要用1000个不同的用户登录，并使用添加不同的测试金额数据访问支付接口
           ① 准备CSV数据文件（1000个登录的用户名和密码）
           ② 添加线程组（线程数1000）
           ③ 添加CSV数据文件设置
           ④ 添加HTTP请求 - 登录（使用读取的用户名密码）
           ⑤ 添加HTTP请求 - 支付（使用counter函数添加不同的测试金额）
           ⑥ 察看结果树
'''